package com.alibaba.algo.dtos.user;

import com.alibaba.algo.cooperation.usercomponent.vo.res.user.EmployeeInfo;
import com.alibaba.algo.core.base.BaseEntity;
import com.alibaba.algo.entity.user.SysOrg;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * 类SysOrg.java的实现描述：组织机构 entity
 *
 * @author nieganggang 2021-03-12 16:08:17
 */
@Getter
@Setter
public class SysOrgDTO extends BaseEntity {

    /**
     * 组织编码
     */
    private String orgCode;

    /**
     * 组织名称
     */
    private String orgName;

    /**
     * 组织类型  1 组织 2分公司  3部门
     */
    private Long orgType;

    /**
     * 组织状态   0无效  1有效
     */
    private Long orgState;

    /**
     * 组织描述
     */
    private String orgDesc;

    /**
     * 有效开始时间
     */
    private Date expireStartTime;

    /**
     * 有效结束时间
     */
    private Date expireEndTime;

    /**
     * 上级组织ID
     */
    private Long parentId;

    /**
     * 唯一标识
     */
    private String uuid;

    /*
    辅助字段
     */
    private List<Long> orgIdList;

    /**
     * 数据来源："501"-系统录入；"502"-SAP
     */
    private String dataSource;

    /**
     * 业务层级
     */
    private String businessLevel;

    /**
     * 部门分类
     */
    private String departmentClassification;

    /**
     * 组织排序 全量接口中无，增量接口中有
     */
    private Integer sort;

    /**
     * 父节点到根节点集合
     */
    private List<SysOrg> orgParent2RootList;

    /**
     * 是否包含子节点
     */
    private boolean hasChild;

    /**
     * 用户和员工信息
      */
    private List<EmployeeInfo> userList;

    /**
     * 用户和员工个数
     */
    private Integer userCount;

    /**
     * 父组织code
     */
    private String parentCode;

    /**
     * （sys_employee_org）主部门标识
     */
    private String isPrimaryOrg;

    /**
     * 员工工号
     */
    private String employeeCode;
}
